// build.js
import { execSync } from 'child_process';
import path from 'path';
import fs from 'fs';
import { fileURLToPath } from 'url';

const __dirname = path.dirname(fileURLToPath(import.meta.url));

const targetProject = process.argv[2];
if (!targetProject) {
  console.error('请输入要构建的子项目名称，例如： node build.js vite-vue2.6');
  process.exit(1);
}

const projectPath = path.resolve(__dirname, targetProject);


// 检查 package.json 是否存在
const pkgPath = path.join(projectPath, 'package.json');

if (!fs.existsSync(pkgPath)) {
  console.error(`子项目 ${targetProject} 不存在或没有 package.json`);
  process.exit(1);
}

// 构建命令
console.log(`🚀 开始构建 ${targetProject} ...`);
try {
  execSync(`pnpm --filter ./${targetProject} run build`, {
    cwd: __dirname,
    stdio: 'inherit',
  });
  console.log(`✅ ${targetProject} 构建完成`);
} catch (error) {
  console.error(`❌ ${targetProject} 构建失败`);
  process.exit(1);
}
